package com.github.cakin.shiro.chapter19.dao;

import com.github.cakin.shiro.chapter19.entity.Resource;

import java.util.List;

/**
 * @className: ResourceDao
 * @description: 资源Dao
 * @date: 2020/5/25
 * @author: cakin
 */
public interface ResourceDao {
    /**
     * 功能描述：创建一个资源
     *
     * @param resource 资源
     * @return Resource 资源
     * @author cakin
     * @date 2020/5/25
     */
    Resource createResource( Resource resource );

    /**
     * 功能描述：更新一个资源
     *
     * @param resource 资源
     * @return Resource 资源
     * @author cakin
     * @date 2020/5/25
     */
    Resource updateResource( Resource resource );

    /**
     * 功能描述：根据资源Id删除资源
     *
     * @param resourceId 资源Id
     * @author cakin
     * @date 2020/5/25
     */
    void deleteResource( Long resourceId );

    /**
     * 功能描述：根据资源Id查找一个资源
     *
     * @param resourceId 资源Id
     * @return Resource 资源
     * @author cakin
     * @date 2020/5/25
     */
    Resource findOne( Long resourceId );

    /**
     * 功能描述：查找所有资源
     *
     * @author cakin
     * @return List<Resource> 资源列表
     * @date 2020/5/25
     */
    List<Resource> findAll();

}
